Soft shadows from area light sources can add striking realism to a computer-generated scene. Computing soft shadows for interactive applications, however, is difficult because of the complex dependence of soft shadows on light sources and scene geometry. Soft shadows are typically generated by combining multiple shadow maps, extending shadow volumes, or by computing geometrically incorrect (fake) soft shadows with a radiosity based approach. Although these techniques have become increasingly efficient, each technique is substantially restricted in that luminance is based on small or point-like area sources. To make matters worse, such existing techniques cannot efficiently handle environment maps to deal with the special case of distant illumination.
Recently, researchers have developed techniques such as pre-computed radiance transfer (PRT) for the special case of distant illumination. PRT methods focus on transferring distant illumination from environment maps to an object. To handle dynamic local illumination, PRT generally requires lighting to be densely sampled over the object at run-time. Additionally, complex local illumination with moving occluders often induces frequent, time-varying fluctuations in gradients, which in turn, may also necessitate dense sampling operations for all-frequency shadow rendering in a dynamic scene. (A dynamic scene typically includes dynamic illumination conditions produced by light sources and/or objects in motion). Such dense sampling operations at run-time can computationally be prohibitively expensive. Thus, the problem of efficient shadow computation under combined illumination of general local light sources and environment maps remains unsolved.
Computing soft shadows is even more challenging for dynamic scenes (e.g., see FIG. 1), wherein some combination of objects, local light sources, and the environment map are in motion. Because of this, computational costs increase rapidly as the numbers of objects and light sources increase. The high run-time expense cannot be reduced by pre-computation of shadow maps. This is because shadow maps and shadow volumes are typically determined with respect to a specific arrangement of lights and occluders within a particular scene configuration or geometry. With PRT, dynamic scenes present an even greater problem, because pre-computed transfer matrices are valid only for a fixed scene configuration. The pre-computed transfer matrices do not generalize to dynamic scenes that contain moving local light sources and numerous degrees of freedom. Moreover, re-computing transfer matrices for moving objects on the fly is typically not an option because it is computationally prohibitive.